package concoursbelote;

import java.util.Scanner;

/**
 * Permet de créer des bars, des serveurs ou des clients personnellement
 * @author Guillaume
 *
 */
public class Creation 
{
	//*********************************************************
	//			METHODS
	//*********************************************************
	
	/**
	 * Permet de créer un bar manuellement
	 * @author Guillaume
	 */
	public static void creationBar()
	{
		@SuppressWarnings("unused")
		String recupDonnee = new String();
		Scanner in = new Scanner(System.in);
		
		System.out.println("Quel sera le prenom de la patronne?");
		String nomPatronne = new String(recupDonnee = in.next());
		String nomBar = new String("Chez " + nomPatronne);
		
		Bar newBar = new Bar(nomBar);
		newBar = new Bar(newBar.getNom(), 2, newBar.nbrChaises(2), 500);
		System.out.println("Quel est le surnom de la patronne");
		String surnomPatronne = new String(recupDonnee = in.next());
		System.out.println("Quel est son cri significatif?");
		String criPatronne = new String(recupDonnee = in.next());
		System.out.println("Quel est sa boisson favorite?");
		String boissonPatronne = new String(recupDonnee = in.next());
		System.out.println("Quel est sa boisson favorite de secours?");
		String boissonSecoursPatronne = new String(recupDonnee = in.next());
		System.out.println("Quel est son type de bijoux favori (collier, bague, ...)?");
		String bijouxFavoriPatronne = new String(recupDonnee = in.next());
		
		Patronne newPatronne = new Patronne(nomPatronne, surnomPatronne, 100, 0, criPatronne, boissonPatronne, boissonSecoursPatronne, 0, 50, 0, bijouxFavoriPatronne);
		newBar = new Bar(newBar.getNom(), newBar.getNbrTables(), newBar.getNbrChaises(), newBar.getCaisse(), newPatronne);
		
		System.out.println("Terminons votre bar avec votre barman.\n Quel est son prénom?");
	
		String nomBarman = new String(recupDonnee = in.next());
		System.out.println("Quel est le surnom du barman?");
		String surnomBarman = new String(recupDonnee = in.next());
		System.out.println("Quel est son cri significatif?");
		String criBarman = new String(recupDonnee = in.next());
		Barman newBarman = new Barman(nomBarman, surnomBarman, 50, 0, criBarman);
		
		newBar = new Bar(newBar.getNom(), newBar.getNbrTables(), newBar.getNbrChaises(),  newBar.getCaisse(), newBar.getPatronne(), newBarman, newBar.clients, newBar.clientsBannis, newBar.serveur, newBar.mesBoissons, newBar.mesFournisseurs);
		Main.repertoireBar.add(newBar);
		System.out.println("Vous venez de créer le bar " + newBar.getNom());
		Main.afficherMenu();
	}
	
	/**
	 * Permet de créer manuiellement un serveur Homme ou Femme
	 * @author Guuillaume
	 */
	public static void creationServeur()
	{
		@SuppressWarnings("unused")
		String recupDonnee = new String();
		Scanner in = new Scanner(System.in);
		boolean choixCorrect = false;
		
		Erreur.existenceBar();
		
		System.out.println("Vous souhaitez embaucher un nouveau serveur");
		System.out.println("Quel est le nom de votre serveur?");
		String nomServeur = new String(recupDonnee = in.next());
		System.out.println("Quel est le surnom du serveur?");
		String surnomServeur = new String(recupDonnee = in.next());
		System.out.println("Quel est son cri significatif?");
		String criServeur = new String(recupDonnee = in.next());
		System.out.println("Est-ce un homme ou une femme?");
		
		while(!choixCorrect)
		{
			String genreServeur = new String(recupDonnee = in.next());
			if(genreServeur.equalsIgnoreCase("Homme"))
			{
				System.out.println("Quelle est sa taille de biceps?");
				ServeurHomme newServeur = new ServeurHomme(nomServeur, surnomServeur, 50, 0, criServeur, Double.parseDouble(in.next()));
				Main.repertoireBar.get(Main.indexBar).serveur.add(newServeur);
				choixCorrect = true;
			}
			else if(genreServeur.equalsIgnoreCase("Femme"))
			{
				System.out.println("Quelle est son coefficient de charme?");
				ServeurFemme newServeur = new ServeurFemme(nomServeur, surnomServeur, 50, 0, criServeur, Double.parseDouble(in.next()), false);
				Main.repertoireBar.get(Main.indexBar).serveur.add(newServeur);
				choixCorrect = true;
			}
			else
			{
				System.out.println("Veuillez choisir un genre correct");
			}
		}
		
		System.out.println("Vous avez embauché " + nomServeur + " en tant que serveur au bar " + Main.repertoireBar.get(Main.indexBar).getNom());
		Main.menuAdministration();
	}
	
	/**
	 * Permet d'affecter manuellement un client à un bar qui possède au minimum un serveur.
	 * @author Guillaume
	 */
	public static void creationClient()
	{
		@SuppressWarnings("unused")
		String recupDonnee = new String();
		Scanner in = new Scanner(System.in);
		boolean choixCorrect = false;
	
		Erreur.existenceServeur();
		System.out.println("Vous souhaitez  inscrire un client dans un bar");
		System.out.println("Quel est le nom du client?");
		String nomClient = new String(recupDonnee = in.next());
		System.out.println("Quel est le surnom du client?");
		String surnomClient = new String(recupDonnee = in.next());
		System.out.println("Quel est son cri significatif?");
		String criClient = new String(recupDonnee = in.next());
		System.out.println("Quel est sa boisson favorite parmi les suivante: (entré la bonne orthographe)");
		for(int i = 0; i<Administration.currentBar.mesBoissons.size(); i++)
		{
			System.out.println(i + ": " + Administration.currentBar.mesBoissons.get(i).getNomBoisson());
		}	
		String boissonClient = new String();
		while(!choixCorrect)
		{
			boissonClient = in.next();
			choixCorrect = Erreur.verificationExistenceBoisson(boissonClient);
		}
		choixCorrect = false;
		System.out.println("Quel est sa boisson favorite de secours? ( parmi les boissons listées précédemment)");
		String boissonSecoursClient = new String();
		while(!choixCorrect)
		{
			boissonSecoursClient = in.next();
			choixCorrect = Erreur.verificationExistenceBoisson(boissonSecoursClient);
		}
		choixCorrect = false;
		
System.out.println("Est-ce un homme ou une femme?");
		
		while(!choixCorrect)
		{
			String genreServeur = new String(recupDonnee = in.next());
			if(genreServeur.equalsIgnoreCase("Homme"))
			{
				System.out.println("Quelle est la couleur de son tee-shirt?");
				ClientHomme newClient = new ClientHomme(nomClient, surnomClient, 50, 0, criClient, boissonClient, boissonSecoursClient, 0, 50, 0, in.next(), false);
				Main.repertoireBar.get(Main.indexBar).clients.add(newClient);
				choixCorrect = true;
			}
			else if(genreServeur.equalsIgnoreCase("Femme"))
			{
				System.out.println("Quel est son type de bijoux favori (collier, bague, ...)?");
				ClientFemme newClient = new ClientFemme(nomClient, surnomClient, 50, 0, criClient, boissonClient, boissonSecoursClient, 0, 50, 0, in.next());
				Main.repertoireBar.get(Main.indexBar).clients.add(newClient);
				choixCorrect = true;
			}
			else
			{
				System.out.println("Veuillez choisir un genre correct");
			}
		}
		
		System.out.println("Vous avez autorisé  " + nomClient + " à entrer  " + Main.repertoireBar.get(Main.indexBar).getNom());
		Main.menuAdministration();
	}
}
